package com.jiyun.jiyunmall.product.dto;

import com.jiyun.jiyunmall.common.valid.SaveGroup;
import com.jiyun.jiyunmall.common.valid.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;


/**
 * 品牌
 *
 * @author boge 71164376@qq.com
 * @since 1.0.0 2022-07-12
 */
@Data
@ApiModel(value = "品牌")
public class BrandDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /*
    	新增时，必须为null，修改是，必须不为null
    	分组校验：
    		针对校验规则，进行分组，所谓的组，就是先声明一个接口，代表组的名称
    		在声明时（DTO的字段上面），以及使用时（Controller的参数列表），去分别指定自己所属组
    	新增组、修改组
     */
	@Null(groups = {SaveGroup.class})
	@NotNull(groups = {UpdateGroup.class})
	@ApiModelProperty(value = "品牌id")
	private Long brandId;

	@NotNull(message = "品牌名称必须不能为空")
	@Pattern(regexp="^[\\u4e00-\\u9fa5_a-zA-Z0-9]+$",message = "请输入中英文字符或数字")
	@ApiModelProperty(value = "品牌名")
	private String name;

	@ApiModelProperty(value = "logo的前缀")
	private String prefix;

	@ApiModelProperty(value = "品牌logo地址")
	private String logo;

	@ApiModelProperty(value = "介绍")
	private String descript;

	@ApiModelProperty(value = "显示状态[0-不显示；1-显示]")
	private Integer showStatus;

	@ApiModelProperty(value = "检索首字母")
	private String firstLetter;

	@ApiModelProperty(value = "排序")
	private Integer sort;


}